Short answer: Self-hosted scraping with managed proxy rotation is the hybrid model where you run the scraper binary on your own server but route its outbound fetches through a third-party residential or datacenter proxy pool (Bright Data, Oxylabs, IPRoyal, Smartproxy). You keep ownership of the scraping logic and data; you outsource only the IP rotation problem.
Running your own residential proxy network is uneconomic for most teams — the legal and supply-chain overhead of acquiring clean residential IPs is a full business by itself. Conversely, handing the entire scrape to a SaaS vendor means giving up control of the response body, the extraction prompt, and the audit trail. The hybrid model keeps the expensive-to-build proxy pool with a specialist while keeping the easy-to-build (and sensitive) scraping logic in-house.
A managed proxy is just an HTTP proxy URL with credentials: http://user-session-abc:pass@brd.superproxy.io:22225. You pass that URL to the scraper per request, and the scraper forwards every outbound fetch through it. Sticky sessions, geo-targeting, and country-level rotation are controlled by encoding session tokens into the username — every major provider supports this pattern. Rotation happens entirely inside the proxy network; the scraper doesn't have to know.
fastCRW accepts a per-request proxy parameter on /v1/scrape and /v1/crawl. Pass the proxy URL — including credentials — and the Rust client uses it for the outbound fetch; sticky-session usernames work transparently. The same self-hosted binary can be pointed at a different proxy per request, so you can route by target hostname, by tenant, or by geo. See scraping and configuration for the full request shape.